<?php

/**
 * Created by PhpStorm.
 * Author: ls
 * Time: 2023/9/19 13:31
 * Desc: 积分商城
 */
abstract class Contract_Api_Integral_Mall
{
    use Trait_Api_Image;

    use Trait_Api_Content;

    use Trait_Api_Response;

    /**
     * 产品属性分类
     * @return array
     */
    abstract function attr(): array;

    /**
     * 兑换列表
     * @param array $params
     * @return array
     */
    abstract function query(array $params): array;

    /**
     * 产品详情
     * @param int $id
     * @param int $mid
     * @return array
     * @throws Exception
     */
    abstract function info(int $id, int $mid = 0): array;

    /**
     * 获取默认地址
     * @param int $mid
     * @return array
     */
    abstract function get_default_address(int $mid): array;

    /**
     * 兑换商品
     * @param int $mid
     * @param array $params
     * @return array
     * @throws Exception
     */
    abstract function exchange(int $mid, array $params): array;

    /**
     * 积分商城订单
     * @param int $mid
     * @param array $params
     * @return array
     */
    abstract function get_order_list(int $mid, array $params = array()): array;

    /**
     * 订单详情
     * @param int $mid
     * @param int $id
     * @return array
     * @throws Exception
     */
    abstract function get_order_info(int $mid, int $id): array;
}